﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using negocio.readOnly;
using negocio.servicios;

namespace web.form
{
    public partial class InformeVentasEmpleados : System.Web.UI.Page
    {
        VentaService venta = new VentaService();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                CargarCombo();
                CargarGrillaTodos();
            }
        }

        private void CargarCombo()
        {
           EmpleadoService emp = new EmpleadoService();
            
            cmbEmpleados.DataSource = emp.ObtenerTodo();
            cmbEmpleados.DataValueField = "Id";
            cmbEmpleados.DataTextField = "Nombre";
            cmbEmpleados.DataBind();
            cmbEmpleados.Items.Insert(0, "Todos...");
        }

        private void CargarGrillaEmpleado(int idEmp)
        {
            List<VentasReadOnly> ventas = venta.BuscarVentas(idEmp);
            gvVentas.DataSource = ventas;
            string[] keys = new string[1];
            keys[0] = "ID";
            gvVentas.DataKeyNames = keys;
            gvVentas.DataBind();

        }

        private void CargarGrillaTodos()
        {
            List<VentasReadOnly> ventas = venta.BuscarVentas(0);
            gvVentas.DataSource = ventas;
            string[] keys = new string[1];
            keys[0] = "ID";
            gvVentas.DataKeyNames = keys;
            gvVentas.DataBind();
            lblTotal.Text = "Total de ventas de todos los empleados:";
            double suma = gvVentas.Rows.Cast<GridViewRow>().Sum(x => Convert.ToDouble(x.Cells[3].Text));
            lblTotalMostrar.Text = " $" + suma.ToString();

        }

        protected void cmbEmpleados_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cmbEmpleados.SelectedIndex==0)
            {
                CargarGrillaTodos();
                lblTotal.Text = "Total de ventas de todos los empleados:";
                double suma = gvVentas.Rows.Cast<GridViewRow>().Sum(x => Convert.ToDouble(x.Cells[3].Text));
                lblTotalMostrar.Text = " $"+suma.ToString();

            }
            else
            {

                CargarGrillaEmpleado(Convert.ToInt32(cmbEmpleados.SelectedValue));
                lblTotal.Text = "Total de ventas del empleado:";
                double suma = gvVentas.Rows.Cast<GridViewRow>().Sum(x => Convert.ToDouble(x.Cells[3].Text));
                lblTotalMostrar.Text = " $" + suma.ToString();
            }
        }


    }
}